This invention relates to a computer system of a variable configuration constituting a shared-nothing database management system and, more specifically, a technique of changing the system configuration without shutting down a database completely.
Shared-nothing database management systems (hereinafter abbreviated as DBMS) have DB servers for processing transactions and data areas for storing processing results on a one-to-one basis logically or physically. Performance of a DBMS depends on a data processing amount of the DB server on each computer (node) when the performance is uniform throughout all nodes. For full DBMS performance, it is therefore desirable to make the data processing amount of the DB server equal at every node.
When the DB servers of the nodes are unevenly allocated to data areas to process, the data processing amount is balanced among the nodes by adding a node to the DBMS or removing one of the nodes from the DBMS.
The amount of data handled by the DBMS has increased as computer systems have become more complicated and larger in scale in recent years. The increase is dealt by enhancing the processing ability of the DBMS through employment of a cluster configuration. As a platform for building the cluster configuration system, a blade server which allows easy addition of a node has come into wide use.
With a blade server, however, it is difficult to set in advance the count of DB servers and data areas in a manner that avoids lowering of DBMS performance based on every conceivable configuration change since a blade server makes it easy to change the count of nodes constituting a cluster. Therefore, a configuration in which data areas are allocated evenly could be imbalanced in data area size among the nodes after the configuration change.
The problem of uneven data area size among nodes in the shared-nothing database management system that has a cluster configuration is addressed by JP 2005-196602 A, which discloses a technique of balancing the data processing amount by reallocation of data processing amount among DB servers.
In JP 2005-196602 A, the shared-nothing database management system divides the data area physically or logically into plural areas, which are allocated to respective DB servers. The sections of the data area allocated to the DB servers are reallocated as the total DB server count or the DB server count per node increases or decreases.
The technique described in JP 2005-196602 A is one to change the allocation of the entire data area to the DB servers, and accordingly requires to ensure that the DBMS is in a state in which no transaction is executed in order to ensure the data area consistency. Thus, with prior art, a configuration change has to wait for the completion of the service and shutdown of the database.